// 检查浏览器是否支持 Geolocation API
if (navigator.geolocation) {
    // 调用 getCurrentPosition 方法获取当前位置
    navigator.geolocation.getCurrentPosition(showPosition, showError);
} else {
    console.log("浏览器不支持地理定位。");
}

// 成功获取位置信息后的回调函数
function showPosition(position) {
    // 获取经纬度信息
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;

    // 这里可以将经纬度信息发送到服务器进行地址解析，或者直接使用第三方 API 进行解析
    // 示例：使用百度地图 API 进行地址解析
    var url = `http://api.map.baidu.com/reverse_geocoding/v3/?ak=YOUR_AK&output=json&coordtype=wgs84ll&location=${latitude},${longitude}`;

    // 发起请求获取地址信息
    fetch(url)
      .then(response => response.json())
      .then(data => {
            if (data.status === 0) {
                // 获取解析后的地址信息
                var address = data.result.formatted_address;
                // 将地址信息显示在页面上，假设页面上有一个 id 为 location 的元素
                document.getElementById('location').innerHTML = address;
            } else {
                console.log("地址解析失败：" + data.message);
            }
        })
      .catch(error => {
            console.log("请求出错：" + error);
        });
}

// 获取位置信息失败后的回调函数
function showError(error) {
    switch (error.code) {
        case error.PERMISSION_DENIED:
            console.log("用户拒绝了地理定位请求。");
            break;
        case error.POSITION_UNAVAILABLE:
            console.log("位置信息不可用。");
            break;
        case error.TIMEOUT:
            console.log("获取位置信息超时。");
            break;
        case error.UNKNOWN_ERROR:
            console.log("发生未知错误。");
            break;
    }
}